package com.jwsoft.manager.common.vo.eduStudentEnrollBefore;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.bifang.assistant.common.vo.BaseVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jwsoft.manager.common.vo.eduHouse.EduHouseVO;
import com.jwsoft.manager.common.vo.eduStudentEnrollPre.EduStudentEnrollPreVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
* <p>
* 义务教育阶段预报名实体
* </p>
*
* @author chenzh
* @since 2022-05-17
*/
@Data

public class StudentEnrollBeforeSaveVO extends BaseVO {


    @Schema(name ="主键")
    private Long enrollBeforeId;

    @Schema(name ="年份")
    private Integer year;

    @Schema(name ="预采集id")
    private String studentEnrollPreId;
    @Schema(name = "学生人员id")
    private Long personId;

    @Schema(name = "学生身份证")
    private String idcard;
    @Schema(name ="学生证件类型")
    private String cardType;
    @Schema(name ="预采集时年龄")
    private Integer age;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd")
    @Schema(name ="出生日期")
    private String birthYmd;

    @Schema(name ="性别")
    private String sex;
    @Schema(name = "学生姓名")
    private String fullName;
    @Schema(name ="现居住地址")
    private String address;
    @Schema(name ="户籍地")
    private String householdPlace;
    @Schema(name = "父亲id")
    private Long fatherId;

    @Schema(name = "父亲姓名")
    private String fatherName;
    @Schema(name ="父亲（监护人）证件类型")
    private String fatherCardType;
    @Schema(name = "父亲身份证")
    private String fatherIdcard;

    @Schema(name = "父亲工作")
    private String fatherWork;

    @Schema(name = "父亲手机")
    private String fatherCellphone;

    @Schema(name = "母亲id")
    private Long motherId;
    @Schema(name ="母亲证件类型")
    private String motherCardType;
    @Schema(name = "母亲姓名")
    private String motherName;

    @Schema(name = "母亲身份证")
    private String motherIdcard;

    @Schema(name = "母亲工作")
    private String motherWork;

    @Schema(name = "母亲手机")
    private String motherCellphone;

    @Schema(name ="可报名学校")
    private String schoolId;
    @Schema(name ="招生大类")
    private String configTypeName;
    @Schema(name ="招生类别")
    private String configName;

    @Schema(name ="是否民办直升班 0 否 1 是")
    private String privateAppointFlag;

    @Schema(name ="民办直升班名单id")
    private String privateAppointStudentId;

    @Schema(name ="是否城区E类人员 0 否 1 是")
    private String appointFlag;

    @Schema(name ="E类学籍名单id")
    private String appointStudentId;

    @Schema(name ="特殊人员标识、针对学校录入的")
    private String specialFlag;

    @Schema(name ="审核状态")
    private String authStatus;

    @Schema(name ="审核意见")
    private String authRemarks;

    @Schema(name ="备注")
    private String remarks;
    @Schema(name ="特殊通道类别")
    private List<String> configNameList;

    @Schema(name = "schoolCategory", title = "就读学段")
    private String schoolCategory;

    @Schema(name="行政区划")
    private String areaCode;

    @Schema(name = "houseId", title = "房产Id")
    private String houseId;

    @Schema(name = "realProperty", title = "不动产单元号")
    private String realProperty;

    @Schema(name = "houseName", title = "房产权力人姓名")
    private String houseName;

    @Schema(name = "houseIdcard", title = "房产权利人身份证")
    private String houseIdcard;

    @Schema(name = "relationshipType", title = "与学生的关系类型：1父亲 2母亲 3爷爷 4奶奶 5外公 6外婆 7监护人")
    private String relationshipType;

    @Schema(name = "houseFlag", title = "是否需要有房产")
    private String houseFlag;
    @Schema(name = "houseType", title = "房产获取类型：1可输入身份证获取 2 只能从父母的信息中获取")
    private String houseType;

    private String fileInfo;

    private EduStudentEnrollPreVO studentEnrollPreVO;

    private List<EduHouseVO> eduhouseList;
    @Schema(name = "aborigineFlag", title = "是否原住居民")
    private String aborigineFlag;
    @Schema(name = "serviceFlag", title = "是否服务区")
    private String serviceFlag;
    @Schema(name = "configNameAlias", title = "招生类别别名")
    private String configNameAlias;
    @Schema(name = "configNameNum", title = "同类别序号")
    private Integer configNameNum;
    @Schema(name = "verificationType", title = "需线下核验的类型，多选")
    private String verificationType;
}
